#define _CRT_SECURE_NO_WARNINGS
#include "DLinkList.h"

void TestDLinkList1()
{
	DListNode* phead = InitNode(0);
	DListNodePushBack(phead, 1);
	DListNodePushBack(phead, 2);
	DListNodePushBack(phead, 3);
	DListNodePushBack(phead, 4);
	DListNodePushBack(phead, 5);
	PrintDList(phead);

	DListNodePopBack(phead);
	DListNodePopBack(phead);
	DListNodePopBack(phead);
	DListNodePopBack(phead);
	PrintDList(phead);

	DListNodePushFront(phead, 0);
	DListNodePushFront(phead, -1);
	DListNodePushFront(phead, -2);
	DListNodePushFront(phead, -3);
	DListNodePushFront(phead, -4);
	PrintDList(phead);

	DListNodePopFront(phead);
	DListNodePopFront(phead);
	DListNodePopFront(phead);
	DListNodePopFront(phead);
	DListNodePopFront(phead);
	PrintDList(phead);

	DListNodeDestroy(&phead);
}

void TestDLinkList2()
{
	DListNode* phead = InitNode(0);
	DListNodePushBack(phead, 1);
	DListNodePushBack(phead, 2);
	DListNodePushBack(phead, 3);
	DListNodePushBack(phead, 4);
	DListNodePushBack(phead, 5);
	PrintDList(phead);

	DListNodeClear(&phead);
	PrintDList(phead);
	DListNodePushBack(phead, 1);
	DListNodePushBack(phead, 2);
	DListNodePushBack(phead, 3);
	PrintDList(phead);
	/*DListNodePushFront(phead, 0);
	DListNodePushFront(phead, -1);
	DListNodePushFront(phead, -2);
	DListNodePushFront(phead, -3);
	DListNodePushFront(phead, -4);
	PrintDList(phead);*/
	//DListNode* pos = DListNodeFind(phead, 3);
	////pos->val = 40;
	//DListNodeInsert(pos, 30);
	//PrintDList(phead);
	//DListNodeDel(pos);

	DListNodeDestroy(&phead);

}

int main()
{
	TestDLinkList2();
	return 0;
}